#ifndef OS_DEBUG_H
    #define OS_DEBUG_H

    #include<lib/type.h>

    #define PRINT_EMEPG  "<0>"  //system fault 
    #define PRINT_ERR    "<1>"  //error condition
    #define PRINT_WARNNING "<2>"  //warnning condition
    #define PRINT_NOTICE "<3>"  //kernel message
    #define PRINT_INFO   "<4>"  //information
    #define PRINT_DEBUG  "<5>"  //debug message

    //debug flags max
    #define DEBUG_FLAGS_MAX 5

    int KPrint(const char *fmt,...);
    void DebugPutStr(const char *str);
    void Spin(char *functionname);
    void DumpVal(uint64_t val);
    void Panic(const char *fmt,...);
    void SysDebug(char *str);
#endif